#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
//int main()
//{
//	/*string s1;
//	cin >> s1;
//	string tmp(s1);
//	while (cin >> s1)
//	{
//		tmp += ' ';
//		tmp += s1;
//	}
//	cout << tmp << endl;*/
//	string s1("01");
//	int a=stoi(s1);
//	cout << a << endl;
//	return 0;
//}
//int main()
//{
//	string a = "hello world";
//	string b = a;
//	if (a.c_str() == b.c_str())
//	{
//		cout << "true" << endl;
//	}
//	else cout << "false" << endl;
//	string c = b;
//	c = "";
//	if (a.c_str() == b.c_str())
//	{
//		cout << "true" << endl;
//	}
//	else cout << "false" << endl;
//	a = "";
//	if (a.c_str() == b.c_str())
//	{
//		cout << "true" << endl;
//	}
//	else cout << "false" << endl;
//	/*string str("Hello Bit.");
//	str.reserve(111);
//	str.resize(5);
//	str.reserve(50);
//	cout << str.size() << ":" << str.capacity() << endl;*/
//	return 0;
//}

//int main()
//{
//    string line;
//    getline(cin, line);
//    size_t found = line.rfind(" ");
//    if ( found!= string::npos)
//        return line.size() - (found+1);
//    else
//        return line.size();
//}
//class Solution {
//public:
//    string reverseWords(string s) {
//        int found = s.find(" ");
//        if (found == string::npos)
//            reverse(s.begin(), s.end());
//        else
//        {
//            reverse(s.begin(), s.begin() + found);
//            while (found != string::npos)
//            {
//                int found2 = s.find(" ", found + 1);
//                if (found2 != string::npos)
//                    reverse(s.begin() + found+1, s.begin() + found2);
//                else
//                    reverse(s.begin() + found+1, s.end());
//                found = found2;
//            }
//        }
//        return s;
//    }
//};
//int main()
//{
//    string s("Let's take LeetCode contest");
//    cout << Solution().reverseWords(s) << endl;
//    /*string tmp;
//    for (auto& ch : s)
//    {
//        if (isdigit(ch))
//            tmp += ch;
//        else if (isalpha(ch))
//            tmp += tolower(ch);
//    }
//    string tmp1(tmp);
//    reverse(tmp.begin(),tmp.end());
//    if (tmp == tmp1)
//        return true;
//    else
//        return false;*/
//}

//class Solution {
//public:
//    string multiply(string num1, string num2) {
//        int end1 = num1.size();
//        int end2 = num2.size();
//        string s;
//        int arr[7] = { 0 };
//        int k = 0, m = 0;
//        for (int i = end1 - 1; i >= 0; i--)
//        {
//            m = 0;
//            for (int j = end2-1; j >= 0; j--)
//            {
//                int mul = 0;
//                mul = (num1[i] - '0') * (num2[j] - '0');
//                arr[m+k] += mul % 10;
//                if (mul >= 10)
//                {
//                    arr[m+k+1] += mul / 10;
//                }
//                m++;
//            }
//            k++;
//        }
//        
//        for (int x = 0; x <= end1+end2+1; x++)
//        {
//            if (arr[x] >= 10)
//            {
//                arr[x + 1] += arr[x] / 10;
//                arr[x] %= 10;
//            }
//        }
//        int flag = 1;
//        for (int i = end1 + end2 ; i >= 0; i--)
//        {
//            if (arr[i] != 0)
//            {
//                k = i;
//                break;
//            }
//            flag = -1;
//        }
//        if (flag == -1)
//        {
//            s = "0";
//            return s;
//        }
//        for(int i=0;i<=k;i++)
//        s += (arr[i] + '0');
//        /*if (s[s.size()] == 0)
//        {
//            s.erase(s.begin() - 1);
//        }*/
//        reverse(s.begin(), s.end());
//        return s;
//    }
//};
//int main()
//{
//    string s1("0");
//    string s2("0");
//    cout<<Solution().multiply(s1, s2);
//    
//    return 0;
//}